Toy controller for providing input to a computing device

ABSTRACT

A toy for providing input to a computing device includes a main body sized and shaped to fit within a grasp of a user of the toy. The toy also includes input switches mounted to the main body. Each of the input switches can switch between a first position and a second position responsive to an action performed on the input switch. The toy also includes a removable outer covering that is configured to substantially encapsulate the main body. A top surface of the covering includes openings sized and shaped to receive a portion of each of the input switches. The toy includes a programmable processing circuit enclosed within the main body. The circuit includes input ports coupled to the input switches. The circuit includes an output port coupled to a communications port to transmit output signals and programmable processing circuitry configured to operate in a plurality of operating modes.

RELATED APPLICATIONS

This present application is a continuation of U.S. patent applicationSer. No. 14/256,641 entitled, “TOY CONTROLLER FOR PROVIDING INPUT TO ACOMPUTING DEVICE” filed on Apr. 18, 2014, which claims the benefit ofand priority to U.S. Patent Application No. 61/934,312, entitled, “TOYCONTROLLER FOR PROVIDING INPUT TO A COMPUTING DEVICE” filed on Jan. 31,2014, the disclosures of which are incorporated herein by reference inits entirety.

BACKGROUND

With the growing availability of mobile devices, individuals may beincreasingly exploring the expanding world of mobile applications,games, and social networks. For example, tablet computers may be used toengage children, with and without disabilities, in learning activitiesthrough an attractive and easy to use interface and design correspondingto such tablet computers.

Tablet computers may now be equipped with a variety of assets includingintuitive user interfaces such as touchscreen, wireless connectivity viamultiple different protocols such as Wi-Fi and Bluetooth, image capturecapabilities, position sensing and/or location determinationcapabilities. A variety of applications have been introduced thatcapitalize on the widespread acceptance of tablet computers, which may,in part, be due to the general affordability. For example, someapplications may be operable to offer assistance to individuals withspeech difficulties by allowing them to create verbal words and/orphrases by pressing a series of images using a tablet device. Similarlysome applications may be operable to combine an interactive drawingapplication with a robot or other device that may provide feedback basedon a user's input sequence. Accessible messages may provide assistivetext typing by highlighting keyboard elements as a user types bypredicting the next sequence of letters or characters.

Unfortunately, such touch-based tools may be developed assuming that theuser possesses fine motor skills and thus is capable of touching smallspecific regions with an appropriate level of intensity and timing.However, the assumption of fine motor skills may be unwarranted in thecontext of individuals having limited upper body motor control,including for example, in children with cerebral palsy (CP). Forexample, children with CP may sustain dysfunctions in upper extremity(UE) activities, such as reaching, grasping and manipulation. Currenttherapeutic interventions for UE control in children have emphasizedrepeated practice of functional activities in various contexts withsufficient feedback. However children with CP may have difficulty inaccessing devices requiring fine motor control such as, for example, acommon pinch and swipe gesture operations that may be used to interfacewith a tablet computer.

SUMMARY

According to one aspect of the present disclosure, a toy for providinginput to a computing device is described. The toy includes a main bodysized and shaped to fit within a grasp of a user of the toy. The toyalso includes a plurality of input switches mounted to the main body.Each of the input switches can be configured to switch between at leasta first position and a second position responsive to an action performedon the input switch. The toy also includes a removable outer coveringthat is configured to substantially encapsulate the main body. The outercovering can have a top surface and a bottom surface. The top surfaceincludes a plurality of openings sized and shaped to receive a portionof each of the plurality of input switches. The toy also includes aprogrammable processing circuit enclosed within the main body. Theprocessing circuit includes a plurality of input ports coupled to theplurality of input switches. The processing circuit also includes anoutput port coupled to a communications port to transmit output signalsand programmable processing circuitry configured to operate in aplurality of operating modes. A first operating mode includes generatinga first output signal responsive to receiving an input signal via afirst input port coupled to a first input switch of the plurality ofinput switches and generating a second output signal responsive toreceiving an input signal via a second input port coupled to a secondinput switch of the plurality of input switches. A second operating modeincludes generating the first output signal responsive to receiving aninput signal via the first input port coupled to the first input switchand generating the first output signal responsive to receiving an inputsignal via the second input port coupled to the second input switch. Athird operating mode includes generating the first output signalresponsive to receiving an input signal via the first input port coupledto the first input switch and generating the first output signalresponsive to receiving an input signal via any of the remaining inputports coupled to a remaining portion of the plurality of input switches.The processing circuit also includes a wireless communications portconfigured to transmit the generated output signals to a communicativelycoupled computing device.

In some implementations, at least one of the input switches is a pushbutton. In some implementations, the toy includes a joystick mounted tothe main body. In some implementations, at least one of the plurality ofinput switches includes a force sensor configured to sense an amount offorce applied to the input switch. In some implementations, theprogrammable processing circuit includes a memory storing processorexecutable instructions and a processor, which is configured to executethe processor executable instructions. In some implementations, theprocessing circuit is configured to wirelessly receive programmableinstructions to store in the memory.

In some implementations, the processing circuit receives an input signalresponsive to an input switch of the plurality of input switches beingactuated. In some implementations, the processing circuitry isconfigured to operate in the first operating mode responsive toprogramming the processing circuitry to operate in the first operatingmode, operate in the second operating mode responsive to programming theprocessing circuitry to operate in the second operating mode, andoperate in the third operating mode responsive to programming theprocessing circuitry to operate in the third operating mode.

According to another aspect, a method of manufacturing a toy capable ofcommunicating with a computing device, includes providing a main bodysized and shaped to fit within a grasp of a user of the toy. The methodincludes mounting a plurality of input switches to the main body. Eachof the input switches is configured to switch between at least a firstposition and a second position responsive to an action performed on theinput switch. The method includes substantially encapsulating aremovable outer covering around the main body. The outer covering has atop surface and a bottom surface. The top surface includes a pluralityof openings sized and shaped to receive a portion of each of theplurality of input switches. The method includes enclosing aprogrammable processing circuit within the main body. The processingcircuit includes a plurality of input ports coupled to the plurality ofinput switches, an output port coupled to a communications port totransmit output signals and programmable processing circuitry capable ofoperating in a plurality of operating modes. A first operating modeincludes generating a first output signal responsive to receiving aninput signal via a first input port coupled to a first input switch ofthe plurality of input switches and generating a second output signalresponsive to receiving an input signal via a second input port coupledto a second input switch of the plurality of input switches. A secondoperating mode includes generating the first output signal responsive toreceiving an input signal via the first input port coupled to the firstinput switch and generating the first output signal responsive toreceiving an input signal via the second input port coupled to thesecond input switch.

In some implementations, the method includes mounting a joystick to themain body. In some implementations, the removable outer coveringincludes a second opening sized and shaped to receive a portion of thejoystick. In some implementations, the method includes mountingfasteners to the removable outer covering. The fasteners can beconfigured to fasten a portion of the top surface of the removable outercovering to a corresponding portion of the bottom surface of theremovable outer covering.

According to yet another aspect, an apparatus for providing input to acomputing device is described. The apparatus includes a main body sizedand shaped to fit within a grasp of a user of the apparatus. Theapparatus also includes a plurality of input switches mounted to themain body. Each of the input switches can be configured to switchbetween at least a first position and a second position responsive to anaction performed on the input switch. The apparatus also includes aremovable outer covering that is configured to substantially encapsulatethe main body. The outer covering can have a top surface and a bottomsurface. The top surface includes a plurality of openings sized andshaped to receive a portion of each of the plurality of input switches.The apparatus also includes a programmable processing circuit enclosedwithin the main body. The processing circuit includes a plurality ofinput ports coupled to the plurality of input switches. The processingcircuit also includes an output port coupled to a communications port totransmit output signals and programmable processing circuitry configuredto operate in a plurality of operating modes. A first operating modeincludes generating a first output signal responsive to receiving aninput signal via a first input port coupled to a first input switch ofthe plurality of input switches and generating a second output signalresponsive to receiving an input signal via a second input port coupledto a second input switch of the plurality of input switches. A secondoperating mode includes generating the first output signal responsive toreceiving an input signal via the first input port coupled to the firstinput switch and generating the first output signal responsive toreceiving an input signal via the second input port coupled to thesecond input switch. A third operating mode includes generating thefirst output signal responsive to receiving an input signal via thefirst input port coupled to the first input switch and generating thefirst output signal responsive to receiving an input signal via any ofthe remaining input ports coupled to a remaining portion of theplurality of input switches. The processing circuit also includes awireless communications port configured to transmit the generated outputsignals to a communicatively coupled computing device.

In some implementations, at least one of the input switches is a pushbutton. In some implementations, the apparatus includes a joystickmounted to the main body. In some implementations, at least one of theplurality of input switches includes a force sensor configured to sensean amount of force applied to the input switch. In some implementations,the programmable processing circuit includes a memory storing processorexecutable instructions and a processor, which is configured to executethe processor executable instructions. In some implementations, theprocessing circuit is configured to wirelessly receive programmableinstructions to store in the memory.

In some implementations, the processing circuit receives an input signalresponsive to an input switch of the plurality of input switches beingactuated. In some implementations, the processing circuitry isconfigured to operate in the first operating mode responsive toprogramming the processing circuitry to operate in the first operatingmode, operate in the second operating mode responsive to programming theprocessing circuitry to operate in the second operating mode, andoperate in the third operating mode responsive to programming theprocessing circuitry to operate in the third operating mode.

It is noted that aspects of the invention described with respect to oneembodiment, may be incorporated in a different embodiment although notspecifically described relative thereto. That is, all embodiments and/orfeatures of any embodiment can be combined in any way and/orcombination. These and other objects and/or aspects of the presentinvention are explained in detail in the specification set forth below.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain principles of theinvention.

FIG. 1 is a block diagram illustrating a system for providingaccessibility to an electronic device according to some embodiments ofthe present invention.

FIGS. 2A-2C are front, side and perspective views of a toy controlleraccording to some embodiments of the present invention.

FIG. 3A shows an enlarged view of a portion of the toy controller asillustrated in FIG. 2.

FIG. 3B shows a perspective view of the toy controller as illustrated inFIG. 2.

FIGS. 4A-4Q are perspective views of various toy configurationsaccording to some embodiments of the present invention.

FIGS. 5A-5E are top views of five various toy configurations accordingto some embodiments of the present invention.

FIG. 6 is a flow diagram illustrating operations corresponding tomanufacturing an apparatus capable of communicating with a computingdevice according to some embodiments of the present invention.

FIGS. 7A and 7B are top views of various embodiments of a programmingcircuit associated with the toy controller shown in FIGS. 2A-2Caccording to some embodiments of the present invention.

DETAILED DESCRIPTION

The present invention now will be described hereinafter with referenceto the accompanying drawings and examples, in which embodiments of theinvention are shown. This invention may, however, be embodied in manydifferent forms and should not be construed as limited to theembodiments set forth herein. Rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the invention to those skilled in the art.

Like numbers refer to like elements throughout. In the figures, thethickness of certain lines, layers, components, elements or features maybe exaggerated for clarity. The terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting of the invention. As used herein, the singular forms “a,”“an” and “the” are intended to include the plural forms as well, unlessthe context clearly indicates otherwise. It will be further understoodthat the terms “comprises” and/or “comprising,” when used in thisspecification, specify the presence of stated features, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, steps, operations,elements, components, and/or groups thereof. As used herein, the term“and/or” includes any and all combinations of one or more of theassociated listed items. As used herein, phrases such as “between X andY” and “between about X and Y” should be interpreted to include X and Y.As used herein, phrases such as “between about X and Y” mean “betweenabout X and about Y.” As used herein, phrases such as “from about X toY” mean “from about X to about Y.”

Unless otherwise defined, all terms (including technical and scientificterms) used herein have the same meaning as commonly understood by oneof ordinary skill in the art to which this invention belongs. It will befurther understood that terms, such as those defined in commonly useddictionaries, should be interpreted as having a meaning that isconsistent with their meaning in the context of the specification andrelevant art and should not be interpreted in an idealized or overlyformal sense unless expressly so defined herein. Well-known functions orconstructions may not be described in detail for brevity and/or clarity.

It will be understood that when an element is referred to as being “on,”“attached” to, “connected” to, “coupled” with, “contacting,” etc.,another element, it can be directly on, attached to, connected to,coupled with or contacting the other element or intervening elements mayalso be present. In contrast, when an element is referred to as being,for example, “directly on,” “directly attached” to, “directly connected”to, “directly coupled” with or “directly contacting” another element,there are no intervening elements present. It will also be appreciatedby those of skill in the art that references to a structure or featurethat is disposed “adjacent” another feature may have portions thatoverlap or underlie the adjacent feature.

Spatially relative terms, such as “under,” “below,” “lower,” “over,”“upper” and the like, may be used herein for ease of description todescribe one element or feature's relationship to another element(s) orfeature(s) as illustrated in the figures. It will be understood that thespatially relative terms are intended to encompass differentorientations of the device in use or operation in addition to theorientation depicted in the figures. For example, if the device in thefigures is inverted, elements described as “under” or “beneath” otherelements or features would then be oriented “over” the other elements orfeatures. Thus, the exemplary term “under” can encompass both anorientation of “over” and “under.” The device may be otherwise oriented(rotated 90 degrees or at other orientations) and the spatially relativedescriptors used herein interpreted accordingly. Similarly, the terms“upwardly,” “downwardly,” “vertical,” “horizontal” and the like are usedherein for the purpose of explanation only unless specifically indicatedotherwise.

It will be understood that, although the terms “first,” “second,” etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. Thus, a “first” element discussed below couldalso be termed a “second” element without departing from the teachingsof the present invention. The sequence of operations (or steps) is notlimited to the order presented in the claims or figures unlessspecifically indicated otherwise.

The present invention is described below with reference to blockdiagrams and/or flowchart illustrations of methods, apparatus (systems)and/or computer program products according to embodiments of theinvention. It is understood that each block of the block diagrams and/orflowchart illustrations, and combinations of blocks in the blockdiagrams and/or flowchart illustrations, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, and/or other programmable data processing apparatus to producea machine, such that the instructions, which execute via the processorof the computer and/or other programmable data processing apparatus,create means for implementing the functions/acts specified in the blockdiagrams and/or flowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instructions whichimplement the function/act specified in the block diagrams and/orflowchart block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions/acts specified inthe block diagrams and/or flowchart block or blocks.

Accordingly, the present invention may be embodied in hardware and/or insoftware (including firmware, resident software, micro-code, etc.).Furthermore, embodiments of the present invention may take the form of acomputer program product on a computer-usable or computer-readablenon-transient storage medium having computer-usable or computer-readableprogram code embodied in the medium for use by or in connection with aninstruction execution system.

The computer-usable or computer-readable medium may be, for example butnot limited to, an electronic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, or device. More specific examples (anon-exhaustive list) of the computer-readable medium would include thefollowing: an electrical connection having one or more wires, a portablecomputer diskette, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, and a portable compact disc read-only memory(CD-ROM).

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET,Python or the like, conventional procedural programming languages, suchas the “C” programming language, Visual Basic, Fortran 2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby andGroovy, or other programming languages. The program code may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider) or in a cloud computer environment or offered as aservice such as a Software as a Service (SaaS).

As described above, individuals with motor impairments often struggle touse various applications that rely on the use of a touch screeninterface to receive user input. The present disclosure is directedtowards a toy or apparatus through which users can interact withapplications. The toy or apparatus can be a wireless controller forindividuals with motor impairments, which is designed to provide suchindividuals access to the world through tablet interaction. The wirelesscontroller enables wireless access to a computing device, such as alaptop, tablet, phone or other computing device. The wireless controllercan include a plurality of input switches. The wireless controller canalso include an embedded software driver that can be configured totranslate input signals generated from an individual's interaction withthe input switches into touch-screen based gestures. This provides theability to generate a number of unique commands or output signals usingthe wireless device, which enables automated conversion of inputs intogestures. Once the output signals are generated, the output signals aretransmitted wirelessly to the computing device with which the wirelesscontroller is communicating. In some implementations, the wirelesscontroller may be configured to communicate with the computing deviceusing WiFi, Bluetooth, or other short, medium or long range connectiontypes. In some implementations, the wireless controller may besubstantially enclosed in a plush stationary housing having achild-friendly design designed to increase durability and interactivityfor children, In some implementations, the wireless controller caninclude a joystick.

Reference is now made to FIG. 1, which is a block diagram illustrating asystem for providing accessibility to an electronic device according tosome embodiments of the present invention. In some embodiments, a system10 as disclosed herein may provide accessibility to an electronicdevice, such as, for example a computer tablet 20 for individuals havingreduced fine motor functionality. A system 10 may include an apparatus100 that may receive a physical input from a user and that may generatea gesture input signal that may be received by the computer tablet 20for controlling tablet applications 30 that are configured to executethereon. Although examples discussed herein may include a computertablet 20, any electronic device including a processor may be usedherein. For example, an electronic device may include a desktop and/orstationary computer, or a mobile terminal, a computing/processing devicesuch as a wireless phone, a personal digital assistant, a smart phone, atablet computing device, and/or other portable computing device.

In some embodiments, the input device 100 may be a wireless interfacethat is configured to transmit gesture input signals to the computertablet 20 via one or more wireless communication protocols. For example,the input device may transmit data using operations in any of thefollowing radio access technologies: Bluetooth, Bluetooth 4.0, GSM, codedivision multiple access (CDMA), wideband-CDMA, CDMA2000, UniversalMobile Telecommunications System (UMTS), Third Generation PartnershipProject (3GPP) Long Term Evolution (LTE), Wi-Fi, and/or WiMAX, amongothers. In some embodiments, the input device 100 may be configured totransmit gesture input signal data to the computer tablet 20 using oneor more different wired data communication paths exclusively and/or incombination with one or more of the wireless communication protocols.

The input device 100 may provide access and control of the computertablet 20, including multiple different tablet applications 30 that areconfigured to run on the computer tablet 20. Tablet applications 30 mayinclude computer readable code that is configured to generate agraphical user interface in the computer tablet 20. Some embodimentsprovide that the graphical user interface may visually correspond to anarrangement of user input devices in the input device. Tabletapplications 30 may further include computer readable code that isconfigured to interpret received gesture input signals to control thecomputer tablet 20 via the graphical input device.

Reference is now made to FIGS. 2A-2C, front, side and perspective viewsof a toy controller are shown. The toy controller 200 can be designed,constructed or configured to communicate with a computing device. Thetoy controller 200 can serve as an input device to the computing device.The toy controller 200 can include a main body (not shown) that includesa processing circuit (not shown) and one or more input switches 202a-202 n. The main body can be sized and shaped to fit within a grasp ofa user of the toy controller 200. In some implementations, the inputswitches 202 are mounted to the main body. In some implementations, theinput switches 202 are operatively coupled to the main body. In someimplementations, the input switches 202 are push button switches thatoperate in two states. In some implementations, the input switches 202are biased towards a first state. In some implementations, one or moreof the input switches can include an input component for controlling adirection of a cursor displayed on a display of the computing device. Insome implementations, one or more of the input switches can include ajoystick. In some implementations, one or more of the input switches caninclude a trackball or track pad.

In some implementations, the main body of the toy controller 200 can besubstantially enclosed by a removable outer covering 205. The removableouter covering 205 can be designed and constructed to serve as a toy forchildren. For example, the removable outer covering 205 can be designedto look like a stuffed animal or toy. The removable outer covering 205can include a top surface 210 and a bottom surface 220 that may bepartially or substantially joined together along the edges. In someimplementations, the outer covering can be made from a plush or softfabric. In some implementations, the fabric used to make the outercovering can be washable.

In some implementations, the top surface 210 of the removable outercovering 220 can include one or more openings 212. The openings 212 canbe sized and shaped to receive a portion of one or more input switches202. In some implementations, at least one opening 212 can be sized suchthat once a portion of the corresponding input switch 202 is receivedthrough the opening 212, there is no gap or there is a small gap betweenan edge of the opening 212 and an outer surface of the input switch 202.In some implementations, the openings 212 can be covered by a coveringmaterial (not shown) such that the material is connected to the edge ofthe openings 212. In some implementations, the input switches 202 may beconfigured such that they do not pass through the openings 212 butrather, may be positioned beneath the covering material.

FIG. 3A shows an enlarged view of a portion of the toy controllerillustrated in FIG. 2. The top surface 210 of the outer covering 202includes a flap portion 304 configured to conceal a port 310. The port310 can be a USB port, HDMI port, or other communication port throughwhich data can be transferred to the processing circuit of the toycontroller 200. The flap portion 304 can include a fastener 306configured to engage with a corresponding fastener 308 positioned on thebottom surface 220 of the outer covering 202. The fasteners 306 and 308can be a button and button hole pair, a snap button and button socket, ahook and loop fastener, amongst others. In some implementations, theflap portion 304 of the top surface 210 can be configured to be insertedinto a slit formed in the bottom surface such that when the flap portionis inserted in the slit, the port 310 is concealed by the flap portion304.

FIG. 3B shows a perspective view of the toy controller as illustrated inFIG. 2. As shown in FIG. 3B, the top surface 210 of the outer covering202 includes the plurality of openings 212. In some implementations, thetop surface 210 may include fastening components (not shown) configuredto engage with counterpart fastening components 222 of the bottomsurface 220 of the removable outer covering 205. In someimplementations, the fastening components can be buttons andcorresponding buttonholes. In some implementations, the fasteningcomponents can be hook and loop fasteners, such as VELCRO. In someimplementations, the fastening components can together form a zipper. Insome implementations, the fastening components can be any type offastener that can fasten the top surface of the outer covering to thebottom surface of the outer covering. In this way, once the removableouter covering encapsulates the main body of the toy controller 200, thetop surface 210 and the bottom surface 220 of the removable outercovering 205 can be fastened to prevent the main body of the toycontroller from slipping out of the outer covering 205.

In some implementations, the toy controller can include one or moreholding members 324. The holding members can be shaped and sized to fitwithin the grasp of a user. In this way, a user can carry the toycontroller by grasping one or more of the holding members 324. Theholding members 324 can be designed such that they appear to be a partof the toy. For example, if the toy is a ladybug, the holding memberscan be shaped and sized to appear as the legs of the ladybug. In anotherexample, if the toy is a monkey, the holding members can be shaped andsized to appear as the tail, arms or legs of the monkey.

Referring now generally to the apparatus 200 shown in FIGS. 2A-2C and3A-3C, the main body of the apparatus includes a programmable processingcircuit. The programmable processing circuit includes a microcontrollerhaving a programmable memory. In some implementations, themicrocontroller can be an 8-bit microcontroller. An examplemicrocontroller includes the AT43USB326 microcontroller made by ATMELInc., headquartered in San Jose, Calif., USA. In some implementations,the microcontroller can include 32 pins or ports, some of which areoperatively coupled to the input switches 202. In this way, when a usertakes an action on an input switch 202, an input signal from the inputswitch 202 is generated and provided as an input signal to themicrocontroller via an input port or pin of the microcontroller to whichthe input switch is operatively coupled. The microcontroller can beconfigured to generate output signals based on the input signal receivedat the microcontroller, the pin at which the input signal was receivedand the programming instructions stored in the programmable memory ofthe microcontroller. The output signals generated by the microcontrollercan be output at one or more output pins of the microcontroller.

In some implementations, the output pins can be operatively coupled to awireless transceiver. Examples of wireless transceivers can include aBluetooth transceiver, a WiFi transceiver or other communicationstransceiver.

In some implementations, the programmable processing circuit can furtherinclude a communications port for programming the microcontroller. Thecommunications port can be a USB port, an HDMI port, or any other typeof port through which data can be transferred to the microcontroller.

In some implementations, the programmable processing circuit can alsoinclude a power storage device, such as a battery. The battery can beconfigured to store electrical energy, which can be supplied to each ofthe USB port, the microcontroller and the wireless transceiver. In someimplementations, the power storage device can include a port throughwhich the power storage device can be charged. In some implementations,the power storage device can be configured to supply power to othercomponents of the processing circuit, including to audio, visual orhaptic components mounted to the processing circuitry. The audio, visualor haptic components can be configured to generate a response to alertthe user of certain conditions or events. For example, a haptic responsecan be generated to indicate that the correct input switch was correctlypressed. As another example, an audio or response can be generated toindicate a low battery.

In some implementations, the processing circuit can be configured tooperate in a plurality of different operating modes. In someimplementations, the processing circuit may include a switch that allowsfor the processing circuit to operate in a first operating mode when theswitch is in a first state and to operate in a second operating modewhen the switch is in a second state, and so forth. The number ofoperating modes the processing circuit can operate in without having toreprogram the processing circuit can be based on the size of the memoryof the processing circuit. In some implementations, the processingcircuit can be configured to operate in a single operating mode thatcorresponds to the instructions stored in the programmable memory of theprocessing circuit. In some such implementations, to configure theprocessing circuit to operate in a different operating mode, the memoryof the processing circuit can be programmed with different set ofinstructions. To program the memory of the processing circuit,instructions corresponding to an operating mode can be transmitted toand stored on the memory of the processing circuit. In someimplementations, the instructions can be computer-readable instructionsthat can be executed by the processor. The instructions can cause theprocessor to output a specific output signal at a particular output pinof the microcontroller in response to receiving an input signal at aparticular input pin of the microcontroller.

In some implementations, when the processing circuit is operating in thefirst operating mode, the processing circuit is configured to generate afirst output signal responsive to receiving an input signal via a firstinput port or pin of the microcontroller that is coupled to a firstinput switch. The processing circuit is configured to generate a secondoutput signal responsive to receiving an input signal via a second inputport coupled to a second input switch of the plurality of inputswitches. In this operating mode, two different output signals aregenerated when two different input switches are actuated.

In some implementations, when the processing circuit is operating in thesecond operating mode, the processing circuit is configured to generatethe first output signal responsive to receiving an input signal via thefirst input port coupled to the first input switch and configured togenerate the same first output signal responsive to receiving an inputsignal via the second input port coupled to the second input switch. Inthis operating mode, the same output signal is generated when any one oftwo different input switches is actuated. In this operating mode, twodifferent output signals are generated when two different input switchesare actuated.

In some implementations, when the processing circuit is operating in thethird operating mode, the processing circuit is configured to generatethe first output signal responsive to receiving an input signal via thefirst input port coupled to the first input switch and generate thefirst output signal responsive to receiving an input signal via any ofthe remaining input ports coupled to a remaining portion of theplurality of input switches. In this operating mode, the same outputsignal is generated when any of the input switches is actuated. That is,from the perspective of a computing device receiving the output signalfrom the toy controller 200, the computing device can determine that aninput switch has been actuated but is unable to determine which of theplurality of input switches was actuated to generate the output signal.This is because the output signal does not identify the input switchthat was actuated to generate the output signal.

Referring now to FIGS. 4A-4Q, various views of various toyconfigurations are shown. As shown in FIGS. 4A-4Q, the toy is a toyturtle. Each of the turtles 402 a-402 d shown in FIGS. 4A-4D can havethe same input device configuration but different leg and head shapesand sizes. The toy configurations shown in FIGS. 4A-4Q displayornamental design features for the toy. As shown in FIGS. 4E-4G, the toyconfigurations can include one or more stitches 404 that can be used toadd details to the toy. In some implementations, a logo of a company canbe placed on the outer surface of the toy.

Referring now to FIGS. 5A-5E, perspective views of four various toyconfigurations are shown top views of five various toy configurationsare shown. As shown in FIGS. 5A-5E, the toy is a toy turtle. Each of theturtles 502 a-502 e shown in FIGS. 5A-5E can have the same outline butdifferent input device configurations. As shown in FIG. 5A, there arefive equally sized and shaped input devices. In FIG. 5B, three inputdevices are equally sized and shaped and are arranged at the end pointsof a Y formation. In FIG. 5C, three input devices are equally sized andshaped and are arranged at the corners of an equilateral triangle. InFIG. 5D, the three input devices are also arranged at the corners of anequilateral triangle but are oriented relative to a head of the turtlein a manner that is different than the orientation of the input devicesshown in FIG. 5C. In FIG. 5E, the three input devices are again arrangedat the corners of an equilateral triangle but each of the input devicesare sized differently. It should be appreciated that other input deviceconfigurations are possible and lie within the scope of the presentdisclosure. In particular, the toy can have any number of input devices,of any shape and size, and can be arranged anywhere on the turtle. Insome implementations, the legs and head of the turtle can also beutilized as real estate for placing input devices. The toyconfigurations shown in FIGS. 5A-5E display ornamental design featuresfor the removable outer covering configured to substantially encapsulatethe main body.

It should be understood that the toy configurations shown in FIGS. 2A-5Einclude both functional features as well as ornamental features. Thefunctional features of the toy may include features that contribute tothe toy controller's ability to provide input to a computing device. Theornamental features of the toy shown in FIGS. 2A-5E can includeornamental features that do not affect the toy controller's ability toprovide input to a computing device. Examples of the ornamental featurescan include the shape, size and configuration of various parts of thetoy, including the buttons, as well as other body portions of the toy.Moreover, it should be understood that some of the ornamental featuresof the toy are optional and various embodiments of the toyconfigurations shown in FIGS. 2A-5E may include only some of theornamental features shown in the toy configurations shown in FIGS.2A-5E.

Reference is now made to FIG. 6 is a flow diagram illustratingoperations corresponding to manufacturing an apparatus capable ofcommunicating with a computing device according to some embodiments ofthe present invention. In brief overview, a main body sized and shapedto fit within a grasp of a user of the apparatus is provided (block605). A plurality of input switches is mounted to the main body (block610). A removable outer covering is substantially encapsulated aroundthe main body (block 615). A programmable processing circuit is enclosedwithin the main body (block 620).

In further detail, a main body sized and shaped to fit within a grasp ofa user of the apparatus is provided (block 605). The main body caninclude one or more mounting locations to which one or more inputswitches can be mounted. The main body can be configured to enclose aprocessing circuit. A plurality of input switches is mounted to the mainbody (block 610). The input switches can be mounted to the main body.The input switches can be operatively coupled to the main body. Each ofthe input switches can be configured to switch between at least a firstposition and a second position responsive to an action performed on theinput switch. In some implementations, a user can press the input switchto switch the input switch between the first position and the secondposition. In some implementations, the method can include mounting ajoystick to the main body. In some implementations, the method caninclude A removable outer covering is substantially encapsulated aroundthe main body (block 615). The outer covering can have a top surface anda bottom surface. In some implementations, the top surface includes aplurality of openings sized and shaped to receive a portion of each ofthe plurality of input switches. In some implementations, the methodalso includes mounting fasteners to the removable outer covering. Thefasteners configured to fasten a portion of the top surface of theremovable outer covering to a corresponding portion of the bottomsurface of the removable outer covering. Examples of fasteners caninclude zip components, buttons and button holes, hook and loopfasteners, snap on buttons amongst others.

The method further includes enclosing a programmable processing circuitwithin the main body (block 620). The programmable processing circuitincludes a plurality of input ports coupled to the plurality of inputswitches and an output port coupled to a communications port to transmitoutput signals. The processing circuit also includes a programmableprocessing circuitry capable of operating in a plurality of operatingmodes. The processing circuitry can operate in a first operating mode,in which the processing circuitry is configured to generate a firstoutput signal responsive to receiving an input signal via a first inputport coupled to a first input switch of the plurality of input switchesand to generate a second output signal responsive to receiving an inputsignal via a second input port coupled to a second input switch of theplurality of input switches. The processing circuitry can operate in asecond operating mode, in which the processing circuitry is configuredto generate the first output signal responsive to receiving an inputsignal via the first input port coupled to the first input switch andgenerating the first output signal responsive to receiving an inputsignal via the second input port coupled to the second input switch. Theprocessing circuit can be configured to transmit the output signals tothe computing device with which the apparatus is configured tocommunicate. An output signal can have a unique characteristicidentifying an input switch that was actuated to cause the processingcircuit to generate the output signal. In this way, when the outputsignal is received by the computing device, the computing device canidentify the input switch of the apparatus that caused the output signalto be generated.

FIGS. 7A and 7B are top views of various embodiments of a programmingcircuit associated with the toy controller shown in FIGS. 2A-2Caccording to some embodiments of the present invention. As shown in FIG.7A, a processing circuit 700 includes a microcontroller 702 that isconfigured to receive input signals from each of a plurality of switchescoupled to buttons configured to receive user input. The microcontroller702 is further configured to process the received input signalsaccording to stored memory instructions that are stored on themicrocontroller and generate output signals that are configured to betransmitted to a wireless transceiver 704. The wireless transceiver 704,such as a Bluetooth transmitter can transmit the output signals to aremote computing device, which can be configured to identify thereceived user input. In some implementations, the microcontroller can bean 8-bit microcontroller. An example microcontroller includes theAT43USB326 microcontroller made by ATMEL Inc., headquartered in SanJose, Calif., USA. In some implementations, the microcontroller caninclude 32 pins or ports, some of which are operatively coupled to theinput switches, such as the input switches 202 shown in FIGS. 2A-2C.Examples of the wireless transceiver 704 can include a Bluetoothtransceiver, a WiFi transceiver or other communications transceiver. Insome implementations, the programmable processing circuit 700 canfurther include a communications port 706 for programming themicrocontroller 702. The communications port 706 can be a USB port, anHDMI port, or any other type of port through which data can betransferred to the microcontroller.

In some implementations, the programmable processing circuit can alsoinclude a power storage device, such as a battery. The battery can beconfigured to store electrical energy, which can be supplied to each ofthe USB port 706, the microcontroller 702 and the wireless transceiver704. In some implementations, the power storage device can include aport through which the power storage device can be charged. In someimplementations, the power storage device can be configured to supplypower to other components of the processing circuit, including to audio,visual or haptic components mounted to the processing circuitry. Theaudio, visual or haptic components can be configured to generate aresponse to alert the user of certain conditions or events. For example,a haptic response can be generated to indicate that the correct inputswitch was correctly pressed. As another example, an audio or responsecan be generated to indicate a low battery.

Many different embodiments have been disclosed herein, in connectionwith the above description and the drawings. It will be understood thatit would be unduly repetitious and obfuscating to literally describe andillustrate every combination and subcombination of these embodiments.Accordingly, all embodiments can be combined in any way and/orcombination, and the present specification, including the drawings,shall support claims to any such combination or subcombination.

In the drawings and specification, there have been disclosed typicalembodiments and, although specific terms are employed, they are used ina generic and descriptive sense only and not for purposes of limitation,the scope of the disclosure being set forth in the following claims.

The invention claimed is:
 1. A toy for providing input to a computingdevice, comprising: a main body; a plurality of input switches mountedto the main body, each of the input switches having a first position anda second position; an outer covering configured to substantiallyencapsulate the main body, the outer covering having a top surface and abottom surface, the top surface comprising a plurality of openings sizedand shaped to receive a portion of each of the plurality of inputswitches; a programmable processing circuit, the processing circuitincluding a plurality of input ports coupled to the plurality of inputswitches; an output port coupled to a communications port to transmitoutput signals; and programmable processing circuitry that, whenoperating in a first operating mode generates a first output signalresponsive to receiving an input signal via a first input port coupledto a first input switch of the plurality of input switches andgenerating a second output signal responsive to receiving an inputsignal via a second input port coupled to a second input switch of theplurality of input switches; and when operating in a second operatingmode generates the first output signal responsive to receiving an inputsignal via the first input port coupled to the first input switch andgenerating the first output signal responsive to receiving an inputsignal via the second input port coupled to the second input switch; anda wireless communications port configured to transmit the generatedoutput signals to a communicatively coupled computing device.
 2. The toyof claim 1, wherein at least one of the input switches is a push button.3. The toy of claim 1, further comprising a joystick mounted to the mainbody.
 4. The toy of claim 1, wherein the programmable processing circuitincludes a memory storing processor executable instructions and aprocessor, which is configured to execute the processor executableinstructions.
 5. The toy of claim 1, wherein the processing circuit isconfigured to wirelessly receive programmable instructions to store inthe memory.
 6. The toy of claim 1, wherein the processing circuitreceives an input signal responsive to an input switch of the pluralityof input switches being actuated.
 7. The toy of claim 1, wherein theprocessing circuitry is configured to: operate in the first operatingmode responsive to programming the processing circuitry to operate inthe first operating mode; and operate in the second operating moderesponsive to programming the processing circuitry to operate in thesecond operating mode.
 8. The toy of claim 1, wherein at least one ofthe plurality of input switches includes a force sensor configured tosense an amount of force applied to the input switch.
 9. A method ofmanufacturing an apparatus capable of communicating with a computingdevice, comprising: providing a main body; mounting a plurality of inputswitches to the main body, each of the input switches having a firstposition and a second position; substantially encapsulating an outercovering around the main body, the outer covering having a top surfaceand a bottom surface, the top surface comprising a plurality of openingssized and shaped to receive a portion of each of the plurality of inputswitches; at least substantially enclosing a programmable processingcircuit within the main body, the processing circuit including aplurality of input ports coupled to the plurality of input switches; anoutput port coupled to a communications port to transmit output signals;and programmable processing circuitry capable of operating in aplurality of operating modes, wherein a first operating mode includesgenerating a first output signal responsive to receiving an input signalvia a first input port coupled to a first input switch of the pluralityof input switches and generating a second output signal responsive toreceiving an input signal via a second input port coupled to a secondinput switch of the plurality of input switches; and a second operatingmode includes generating the first output signal responsive to receivingan input signal via the first input port coupled to the first inputswitch and generating the first output signal responsive to receiving aninput signal via the second input port coupled to the second inputswitch.
 10. The method of claim 9, further comprising mounting ajoystick to the main body.
 11. The method of claim 9, wherein theremovable outer covering includes a second opening sized and shaped toreceive a portion of the joystick.
 12. The method of claim 9, furthercomprising mounting fasteners to the removable outer covering, thefasteners configured to fasten a portion of the top surface of theremovable outer covering to a corresponding portion of the bottomsurface of the removable outer covering.
 13. An apparatus for providinginput to a computing device, comprising: a main body; a plurality ofinput switches mounted to the main body, each of the input switcheshaving a first position and a second position; an outer coveringconfigured to substantially encapsulate the main body, the outercovering having a top surface and a bottom surface, the top surfacecomprising a plurality of openings sized and shaped to receive a portionof each of the plurality of input switches; a programmable processingcircuit enclosed within the main body, the processing circuit includinga plurality of input ports coupled to the plurality of input switches;an output port coupled to a communications port to transmit outputsignals; and programmable processing circuitry that, when operating in afirst operating mode generates a first output signal responsive toreceiving an input signal via a first input port coupled to a firstinput switch of the plurality of input switches and generating a secondoutput signal responsive to receiving an input signal via a second inputport coupled to a second input switch of the plurality of inputswitches; and a when operating in a second operating mode generates thefirst output signal responsive to receiving an input signal via thefirst input port coupled to the first input switch and generating thefirst output signal responsive to receiving an input signal via any ofthe remaining input ports coupled to a remaining portion of theplurality of input switches; and a wireless communications portconfigured to transmit the generated output signals to a communicativelycoupled computing device.
 14. The apparatus of claim 13, wherein atleast one of the input switches is a push button.
 15. The apparatus ofclaim 13, further comprising a joystick mounted to the main body. 16.The apparatus of claim 13, wherein the programmable processing circuitincludes a memory storing processor executable instructions and aprocessor, which is configured to execute the processor executableinstructions.
 17. The apparatus of claim 13, wherein the processingcircuit is configured to wirelessly receive programmable instructions tostore in the memory.
 18. The apparatus of claim 13, wherein theprocessing circuit receives an input signal responsive to an inputswitch of the plurality of input switches being actuated.
 19. Theapparatus of claim 13, wherein the processing circuitry is configuredto: operate in the first operating mode responsive to programming theprocessing circuitry to operate in the first operating mode; and operatein the second operating mode responsive to programming the processingcircuitry to operate in the second operating mode.
 20. The apparatus ofclaim 13, wherein at least one of the plurality of input switchesincludes a force sensor configured to sense an amount of force appliedto the input switch.